﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ProyectoVeranoAECAasp.Negocios;

namespace ProyectoVeranoAECAasp.Vistas
{
    public partial class Autenticacion : System.Web.UI.Page
    {
        // - ATRIBUTOS DE CLASE -----
        // - _instanciaPrincipalAnidada: Para poder llamar a métodos de la página
        // master anidada
        private PrincipalAnidada _instanciaPrincipalAnidada;

        // - _instanciaProcAutent: Para poder llamar a métodos de la clase
        // de ProcesosAutenticacion en la capa de negocios.
        private ProcesosAutenticacion _instanciaProcAutent;


        // - METODOS -----
        protected void Page_Load(object sender, EventArgs e)
        {
            _instanciaPrincipalAnidada = new PrincipalAnidada();
            _instanciaProcAutent = new ProcesosAutenticacion();
        }

        protected void BotonLogin_Click(object sender, EventArgs e)
        {
            // Para evitar un sql inyection se le quitan caracteres propios de consulta
            String usuarioAConectar = this.TextBoxUsuario.Text.Replace(";", "").Replace("--", "");
            String passAConectar = this.TextBoxPass.Text.Replace(";", "").Replace("--", "");

            if (_instanciaProcAutent.llamar_comprobarExistenciaUsuario(usuarioAConectar, passAConectar) == true)
            {
                List<String> datosUsuario;
                String userIDString, userTipo;
                int tipoUser = 0;
                //----
                // Se trae la información del usuario devuelta por el SP de
                //autenticacion
                datosUsuario = _instanciaProcAutent.llamar_ejecutaSP_AutenticarUser(usuarioAConectar, passAConectar);
                userIDString = datosUsuario[0];
                tipoUser = Convert.ToInt32(datosUsuario[1]);

                // Tipo Usuario global
                userTipo = (String)Session["TipoUsuarioGlobal"];
                Session["TipoUsuarioGlobal"] = datosUsuario[1];

                // Se UsuarioID y se le asigna un valor a la variable de Session
                Session["UsuarioID"] = userIDString;

                // Redirige a la página inicial según tipo de usuario
                if (tipoUser == 1)
                {
                    Response.Redirect("/Vistas/GestionUsuarios.aspx?valor1=" +
                        tipoUser.ToString() + "&valor2=" + datosUsuario[2] +
                        "&valor3=" + datosUsuario[3] + "&valor4=" +
                        datosUsuario[4] + "&valore5=" + datosUsuario[5]);
                }
                else if (tipoUser == 2)
                {
                    Response.Redirect("/Vistas/GestionarBandejaSols.aspx?valor1=" +
                        tipoUser.ToString() + "&valor2=" + datosUsuario[2] +
                        "&valor3=" + datosUsuario[3] + "&valor4=" +
                        datosUsuario[4] + "&valore5=" + datosUsuario[5]);
                }
                else
                {
                    Response.Redirect("/Vistas/VisualizarEspacios.aspx?valor1=" +
                        tipoUser.ToString() + "&valor2=" + datosUsuario[2] +
                        "&valor3=" + datosUsuario[3] + "&valor4=" +
                        datosUsuario[4] + "&valore5=" + datosUsuario[5]);
                }
            }
            else
            {
                lblMensaje.Text = "Usuario/Contraseña incorrecta verifique por favor.";
            }
        }


        // - GETS & SETS -----
    }
}